package server;

import java.rmi.RemoteException;

public class ServerWrapper implements Server {

	protected SimulationServer serverInstance;
	
	public ServerWrapper(SimulationServer s){
		serverInstance = s;
	}
	
	@Override
	public int maxColumn() throws RemoteException {
		return serverInstance.maxColumn();
	}

	@Override
	public int maxRow() throws RemoteException {
		return serverInstance.maxRow();
	}

	@Override
	public Cell[] getSubsection(int llCol, int llRow, int numCols, int numRows) throws RemoteException {
		return serverInstance.getSubsection(llCol, llRow, numCols, numRows);
	}

	@Override
	public boolean isRunning() throws RemoteException {
		return serverInstance.isRunning();
	}

	@Override
	public long getSimRate() throws RemoteException {
		return serverInstance.getSimRate();
	}

	@Override
	public int stepsCount() throws RemoteException {
		return serverInstance.stepsCount();
	}

	@Override
	public int numCritters() throws RemoteException {
		return serverInstance.numCritters();
	}

	@Override
	public int numPlants() throws RemoteException {
		return serverInstance.numPlants();
	}

	@Override
	public String getCritterProgram(int id) throws RemoteException {
		return serverInstance.getCritterProgram(id);
	}

	@Override
	public int[] getCritterMemory(int id) throws RemoteException {
		return serverInstance.getCritterMemory(id);
	}

	@Override
	public String getCritterCurrentRule(int id) throws RemoteException {
		return serverInstance.getCritterCurrentRule(id);
	}

	@Override
	public Action getCritterAction(int id) throws RemoteException {
		return serverInstance.getCritterAction(id);
	}

	@Override
	public String requestUserAcc(String user, String pw) throws RemoteException {
		return serverInstance.requestUserAcc(user, pw);
	}

	@Override
	public String requestAdminAcc(String user, String pw)
			throws RemoteException {
		return serverInstance.requestAdminAcc(user, pw);
	}

	@Override
	public PlayerServer getPlayerServer(String user, String pw)
			throws RemoteException {
		return serverInstance.getPlayerServer(user, pw);
	}

	@Override
	public AdminServer getAdminServer(String user, String pw)
			throws RemoteException {
		return serverInstance.getAdminServer(user, pw);
	}

	@Override
	public int[] getSpeciesAttributes(int species_id) throws RemoteException {
		return serverInstance.getSpeciesAttributes(species_id);
	}

	@Override
	public String getSpeciesProgram(int species_id) throws RemoteException {
		return serverInstance.getSpeciesProgram(species_id);
	}

	@Override
	public int[] getLineage(int species_id) throws RemoteException {
		return serverInstance.getLineage(species_id);
	}

}
